package com.zycfc.zsf.boot.job.api.domain;

import java.io.*;
import java.util.*;

public class TJobChainDetail implements Serializable
{
    private static final long serialVersionUID = 1L;
    private List<TJobChainDetail> subNode;
    private String rootJobName;
    private String period;
    private String chainNo;
    private String jobName;
    private Integer levelNo;
    private String parentJobName;
    
    public List<TJobChainDetail> getSubNode() {
        return this.subNode;
    }
    
    public String getRootJobName() {
        return this.rootJobName;
    }
    
    public String getPeriod() {
        return this.period;
    }
    
    public String getChainNo() {
        return this.chainNo;
    }
    
    public String getJobName() {
        return this.jobName;
    }
    
    public Integer getLevelNo() {
        return this.levelNo;
    }
    
    public String getParentJobName() {
        return this.parentJobName;
    }
    
    public void setSubNode(final List<TJobChainDetail> subNode) {
        this.subNode = subNode;
    }
    
    public void setRootJobName(final String rootJobName) {
        this.rootJobName = rootJobName;
    }
    
    public void setPeriod(final String period) {
        this.period = period;
    }
    
    public void setChainNo(final String chainNo) {
        this.chainNo = chainNo;
    }
    
    public void setJobName(final String jobName) {
        this.jobName = jobName;
    }
    
    public void setLevelNo(final Integer levelNo) {
        this.levelNo = levelNo;
    }
    
    public void setParentJobName(final String parentJobName) {
        this.parentJobName = parentJobName;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof TJobChainDetail)) {
            return false;
        }
        final TJobChainDetail other = (TJobChainDetail)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$subNode = this.getSubNode();
        final Object other$subNode = other.getSubNode();
        Label_0065: {
            if (this$subNode == null) {
                if (other$subNode == null) {
                    break Label_0065;
                }
            }
            else if (this$subNode.equals(other$subNode)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$rootJobName = this.getRootJobName();
        final Object other$rootJobName = other.getRootJobName();
        Label_0102: {
            if (this$rootJobName == null) {
                if (other$rootJobName == null) {
                    break Label_0102;
                }
            }
            else if (this$rootJobName.equals(other$rootJobName)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$period = this.getPeriod();
        final Object other$period = other.getPeriod();
        Label_0139: {
            if (this$period == null) {
                if (other$period == null) {
                    break Label_0139;
                }
            }
            else if (this$period.equals(other$period)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$chainNo = this.getChainNo();
        final Object other$chainNo = other.getChainNo();
        Label_0176: {
            if (this$chainNo == null) {
                if (other$chainNo == null) {
                    break Label_0176;
                }
            }
            else if (this$chainNo.equals(other$chainNo)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$jobName = this.getJobName();
        final Object other$jobName = other.getJobName();
        Label_0213: {
            if (this$jobName == null) {
                if (other$jobName == null) {
                    break Label_0213;
                }
            }
            else if (this$jobName.equals(other$jobName)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$levelNo = this.getLevelNo();
        final Object other$levelNo = other.getLevelNo();
        Label_0250: {
            if (this$levelNo == null) {
                if (other$levelNo == null) {
                    break Label_0250;
                }
            }
            else if (this$levelNo.equals(other$levelNo)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$parentJobName = this.getParentJobName();
        final Object other$parentJobName = other.getParentJobName();
        if (this$parentJobName == null) {
            if (other$parentJobName == null) {
                return true;
            }
        }
        else if (this$parentJobName.equals(other$parentJobName)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof TJobChainDetail;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $subNode = this.getSubNode();
        result = result * 59 + (($subNode == null) ? 43 : $subNode.hashCode());
        final Object $rootJobName = this.getRootJobName();
        result = result * 59 + (($rootJobName == null) ? 43 : $rootJobName.hashCode());
        final Object $period = this.getPeriod();
        result = result * 59 + (($period == null) ? 43 : $period.hashCode());
        final Object $chainNo = this.getChainNo();
        result = result * 59 + (($chainNo == null) ? 43 : $chainNo.hashCode());
        final Object $jobName = this.getJobName();
        result = result * 59 + (($jobName == null) ? 43 : $jobName.hashCode());
        final Object $levelNo = this.getLevelNo();
        result = result * 59 + (($levelNo == null) ? 43 : $levelNo.hashCode());
        final Object $parentJobName = this.getParentJobName();
        result = result * 59 + (($parentJobName == null) ? 43 : $parentJobName.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "TJobChainDetail(subNode=" + this.getSubNode() + ", rootJobName=" + this.getRootJobName() + ", period=" + this.getPeriod() + ", chainNo=" + this.getChainNo() + ", jobName=" + this.getJobName() + ", levelNo=" + this.getLevelNo() + ", parentJobName=" + this.getParentJobName() + ")";
    }
}
